See Snow.lua readme for proper credits of the lua script used, everything else done by me.